
package com.dhcc.bpm.modules.orga.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springblade.core.mp.base.Excel;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName Orga
 * @Description 机构信息表实体类
 * @Author daina
 * @Date 2020/2/24 19:25
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 */
@Data
@TableName("opc_orga")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Orga对象", description = "机构信息表")
public class Orga extends BaseEntity {

    private static final long serialVersionUID = 1L;
    /**
     * 企业名称
     */
    @ApiModelProperty(value = "企业名称")
    @Excel(name ="企业名称")
    private String orgaName;
    /**
     * 单位性质
     */
    @ApiModelProperty(value = "单位性质")
    private String orgaNature;
    /**
     * 机构编号
     */
    @ApiModelProperty(value = "机构编号")
    @Excel(name ="机构编号")
    private String orgaCard;
    /**
     * 机构类型
     */
    @ApiModelProperty(value = "机构类型")
    private String orgaType;
    /**
     * 支付机构编号
     */
    @ApiModelProperty(value = "支付机构编号")
    private String payCode;
    /**
     * 机构简称
     */
    @ApiModelProperty(value = "机构简称")
    private String orgaShort;
    /**
     * 机构联系人
     */
    @ApiModelProperty(value = "机构联系人")
    private String orgaLinkman;
    /**
     * 机构电话
     */
    @ApiModelProperty(value = "机构电话")
    private String orgaTel;
    /**
     * 机构状态
     */
    @ApiModelProperty(value = "机构状态")
    @Excel(name ="机构状态")
    private String orgaStatus;
    /**
     * 机构邮箱
     */
    @ApiModelProperty(value = "机构邮箱")
    private String orgaEmail;
    /**
     * 机构注册日期
     */
    @ApiModelProperty(value = "机构注册日期")
    private Date regTime;
    /**
     * 机构注册资金
     */
    @ApiModelProperty(value = "机构注册资金")
    private String regMoney;
    /**
     * 机构地址
     */
    @ApiModelProperty(value = "机构地址")
    private String orgaAddress;
    /**
     * 机构简介
     */
    @ApiModelProperty(value = "机构简介")
    private String orgaIntro;
    /**
     * 统一社会信用代码
     */
    @ApiModelProperty(value = "统一社会信用代码")
    private String creditCode;
    /**
     * 税务登记证件号
     */
    @ApiModelProperty(value = "税务登记证件号")
    private String taxRegNo;
    /**
     * 组织机构代码
     */
    @ApiModelProperty(value = "组织机构代码")
    @Excel(name ="组织机构代码")
    private String orgaCode;
    /**
     * 法人代表
     */
    @ApiModelProperty(value = "法人代表")
    private String legal;
    /**
     * 法人联系电话
     */
    @ApiModelProperty(value = "法人联系电话")
    private String legalTel;
    /**
     * 法人证件类型
     */
    @ApiModelProperty(value = "法人证件类型")
    private String legalType;
    /**
     * 法人证件号码
     */
    @ApiModelProperty(value = "法人证件号码")
    private String legalNum;
    /**
     * 法人邮箱
     */
    @ApiModelProperty(value = "法人邮箱")
    private String legalEmail;
    /**
     * 余额
     */
    @ApiModelProperty(value = "余额")
    @JsonSerialize(
            using = ToStringSerializer.class,
            nullsUsing = NullSerializer.class
    )
    private BigDecimal remain;
    /**
     * 接入日期
     */
    @ApiModelProperty(value = "接入日期")
    @Excel(name ="接入日期")
    private Date accessTime;
    /**
     * 机构规模
     */
    @ApiModelProperty(value = "机构规模")
    private String orgaSize;
    /**
     * 营业范围
     */
    @ApiModelProperty(value = "营业范围")
    private String busScope;
    /**
     * 开户行
     */
    @ApiModelProperty(value = "开户行")
    private String openBank;
    /**
     * 开户账号
     */
    @ApiModelProperty(value = "开户账号")
    private String accountNum;
    /**
     * 负责人
     */
    @ApiModelProperty(value = "负责人")
    @Excel(name ="负责人")
    private String perCharge;
    /**
     * 负责人电话
     */
    @ApiModelProperty(value = "负责人电话")
    @Excel(name ="负责人电话")
    private String perNumber;
    /**
     * 接入状态
     */
    @ApiModelProperty(value = "接入状态")
    private String accessState;
    /**
     * 服务行业
     */
    @ApiModelProperty(value = "服务行业")
    @Excel(name ="服务行业")
    private String serviceTrade;
    /**
     * 机构注册地
     */
    @ApiModelProperty(value = "机构注册地")
    private String orgaRegAddr;
    /**
     * 所在地区
     */
    @ApiModelProperty(value = "所在地区")
    private String orgaArea;
    /**
     * 官方网站
     */
    @ApiModelProperty(value = "官方网站")
    private String officialWeb;
    /**
     * 认证费用
     */
    @ApiModelProperty(value = "认证费用")
    private BigDecimal authCost;
    /**
     * 企业认证证件类型
     */
    @ApiModelProperty(value = "企业认证证件类型")
    @Excel(name ="安全认证类型")
    private String authDocumentType;
    /**
     * 认证证件号
     */
    @ApiModelProperty(value = "认证证件号")
    private String authDocumentNum;
    /**
     * 对公银行账号
     */
    @ApiModelProperty(value = "对公银行账号")
    private String bankAccountPub;
    /**
     * 开户名称
     */
    @ApiModelProperty(value = "开户名称")
    private String accountName;
    /**
     * 认证联系人
     */
    @ApiModelProperty(value = "认证联系人")
    private String authLink;
    /**
     * 认证联系人电话
     */
    @ApiModelProperty(value = "认证联系人电话")
    private String authLinkPhone;
    /**
     * 认证联系人座机
     */
    @ApiModelProperty(value = "认证联系人座机")
    private String authLinkLandline;
    /**
     * 认证联系人邮箱
     */
    @ApiModelProperty(value = "认证联系人邮箱")
    private String authLinkEmail;
    /**
     * 认证联系人身份证号
     */
    @ApiModelProperty(value = "认证联系人身份证号")
    private String authLinkIdcard;
    /**
     * 认证状态
     */
    @ApiModelProperty(value = "认证状态")
    @Excel(name ="认证状态")
    private String authFlag;
    /**
     * 发票类型
     */
    @ApiModelProperty(value = "发票类型")
    private String invoiceType;
    /**
     * 发票抬头
     */
    @ApiModelProperty(value = "发票抬头")
    private String invoiceRise;
    /**
     * 发票备注
     */
    @ApiModelProperty(value = "发票备注")
    private String invoiceRemark;
    /**
     * 纳税人识别号
     */
    @ApiModelProperty(value = "纳税人识别号")
    private String taxpayerNum;
    /**
     * 发票邮寄地址
     */
    @ApiModelProperty(value = "发票邮寄地址")
    private String invoiceMailingAddr;
    /**
     * 邮寄联系人
     */
    @ApiModelProperty(value = "邮寄联系人")
    private String invoiceMailingLink;
    /**
     * 邮寄联系电话
     */
    @ApiModelProperty(value = "邮寄联系电话")
    private String invoiceMailingPhone;
    /**
     * 申请公函的文件名
     */
    @ApiModelProperty(value = "申请公函的文件名")
    private String officialLetter;
    /**
     * 营业执照的文件名
     */
    @ApiModelProperty(value = "营业执照的文件名")
    private String busLicence;
    /**
     * 其他资料的文件名，多个用逗号隔开
     */
    @ApiModelProperty(value = "其他资料的文件名，多个用逗号隔开")
    private String otherFiles;
    /**
     * 邮编
     */
    @ApiModelProperty(value = "邮编")
    private String postCode;
    /**
     * 伪城市代码
     */
    @ApiModelProperty(value = "伪城市代码")
    private String cityCode;
    /**
     * 用户IATA编号
     */
    @ApiModelProperty(value = "用户IATA编号")
    private String iataNum;
    /**
     * 最近城市或机场代码
     */
    @ApiModelProperty(value = "最近城市或机场代码")
    private String airportCode;
    /**
     * CRS_Code
     */
    @ApiModelProperty(value = "CRS_Code")
    private String crsCode;
    /**
     * ISO国家编码
     */
    @ApiModelProperty(value = "ISO国家编码")
    private String isoCode;
    /**
     * 货币单位
     */
    @ApiModelProperty(value = "货币单位")
    private String currencyUnit;
    /**
     * 关税代码
     */
    @ApiModelProperty(value = "关税代码")
    private String dutyCode;
    /**
     * ESRP编号
     */
    @ApiModelProperty(value = "ESRP编号")
    private String esrpNum;
    /**
     * 首选离港机场
     */
    @ApiModelProperty(value = "首选离港机场")
    private String departureAirport;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    @Excel(name ="描述")
    @TableField(value = "`describe`")
    private String describe;
    /** value ="`describe`"
     * 用户ID(关联opc_user表ID)
     */
    @ApiModelProperty(value = "用户ID(关联opc_user表ID)")
    @JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
    private Long opcUserId;
    /**
     * 父ID (新增机构parent_id为0，变更机构为被变更机构id)
     */
    @ApiModelProperty(value = "父ID (新增机构parent_id为0，变更机构为被变更机构id)")
    @JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
    private Long parentId;
    /**
     * 操作类型 (1.接入；2.变更)
     */
    @ApiModelProperty(value = "操作类型 (1.接入；2.变更)")
    @Excel(name ="操作")
    private String operationType;
    /**
     * 流程编号
     */
    @ApiModelProperty(value = "流程编号")
    private String wfId;
    /**
     * 流程状态
     */
    @ApiModelProperty(value = "流程状态")
    private String wfStatus;
    /**
     * 备用，使用备用字段请修改注释
     */
    @ApiModelProperty(value = "备用，使用备用字段请修改注释")
    private String spare1;
    /**
     * 备用，使用备用字段请修改注释
     */
    @ApiModelProperty(value = "备用，使用备用字段请修改注释")
    private String spare2;
    /**
     * 备用，使用备用字段请修改注释
     */
    @ApiModelProperty(value = "是否国内外")
    private String isDomestic;

    @ApiModelProperty(value = "其他负责人")
    private String otherPerCharge;

    @ApiModelProperty(value = "其他负责人电话")
    private String otherPerNumber;

    @ApiModelProperty(value = "其他负责人证件类型")
    private String otherAuthDocumentType;

    @ApiModelProperty(value = "其他负责人证件号")
    private String otherAuthDocumentNum;

    @ApiModelProperty(value = "其他负责人地址")
    private String otherInvoiceMailingAddr;

    /**
     * 租户ID
     */
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    /**
     * 审批意见
     */
    @ApiModelProperty(value = "审批意见")
    private String approveOpinion;

    /**
     * 导出数据标识
     */
    @ApiModelProperty(value = "导出数据标识")
    @JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
    private String expSeq;

    /**
     * 环境流程标识
     */
    @ApiModelProperty(value = "环境流程标识")
    @JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
    private String processFlag;
}
